Skip to content

使用构造函数来定义对象的结构,并使用 new 关键字来实例化对象。

构造函数模式 (推荐 Es6,过时禁止使用的)

js
function Person(name, age) {
  this.name = name;
  this.age = age;
  this.sayHello = function () {
    console.log(
      "Hello, my name is " + this.name + " and I am " + this.age + " years old."
    );
  };
}

let person1 = new Person("John", 30);
let person2 = new Person("Alice", 25);

person1.sayHello(); // 输出:Hello, my name is John and I am 30 years old.
person2.sayHello(); // 输出:Hello, my name is Alice and I am 25 years old.

缺点

  • 每个实例都有自己的方法的副本,这可能会导致资源浪费。
  • 如果方法定义在构造函数内部,每次创建实例都会重新创建这些方法,这可能会导致性能下降。